package dao;

import gestores.GestorBD;

import java.sql.ResultSet;

public class DAO_Lugar {

	private static DAO_Lugar INSTANCE = null;

	/**
	 * constructor
	 */
	private DAO_Lugar() {

	}

	/**
	 * Metodo para obtener una instancia, si existe la devuelve, sino la crea
	 * 
	 * @return instancia si existe
	 */
	public static DAO_Lugar getInstance() {
		if (INSTANCE == null) {
			INSTANCE = new DAO_Lugar();
		}
		return INSTANCE;
	}

	public ResultSet buscarLugarYDeporte(String nombreLugar, String correo) {
		// TODO Auto-generated method stub
		return GestorBD
				.getInstance()
				.ejecutar(
						"SELECT `lugar`.`nombre`, `lugar`.`descripcion`, `lugar`.`codigo`,"
								+ "`deporte`.`nombreDeporte` "
								+ "FROM `lugar`, `usuario_registrado`, `deporte`, `deporte_lugar` "
								+ "WHERE `lugar`.`nombre`='"
								+ nombreLugar
								+ "' "
								+ "AND `usuario_registrado`.`correo`='"
								+ correo
								+ "' "
								+ "AND `usuario_registrado`.`id_usuario`=`lugar`.`id_usuario` "
								+ "AND `lugar`.`id_lugar`= `deporte_lugar`.`id_lugar` "
								+ "AND `deporte`.`id_deporte`= `deporte_lugar`.`id_deporte` "
								+ "AND `lugar`.`eliminada`='0'");

	}

	public ResultSet getIdLugares(String nombreLugar, String correo) {
		// TODO Auto-generated method stub
		return GestorBD.getInstance().ejecutar("SELECT `lugar`.`id_lugar`" +
				"FROM `lugar`, `usuario_registrado` " +
				"WHERE `lugar`.`nombre`='"+ nombreLugar +"' " +
				"AND `usuario_registrado`.`correo`='"+ correo+"' " +
				"AND `usuario_registrado`.`id_usuario`=`lugar`.`id_usuario` " +
				"AND `lugar`.`eliminada`='0'");
	}

	public ResultSet buscarLugares(String nombreComp) {
		return GestorBD.getInstance().ejecutar("SELECT `lugar`.`nombre`, `lugar_competencia`.`disponibilidad` FROM `competencia`, `lugar`, `lugar_competencia` WHERE `competencia`.`nombre`='"+nombreComp+"' AND `competencia`.`id_competencia`=`lugar_competencia`.`id_competencia` AND `lugar_competencia`.`id_lugar`=`lugar`.`id_lugar`AND `competencia`.`eliminada`='0'");

	}

	public ResultSet getIdLugar(String nombreLugar) {
		// TODO Auto-generated method stub
		return GestorBD.getInstance().ejecutar("SELECT `lugar`.`id_lugar` FROM `lugar` WHERE `lugar`.`nombre`='"+ nombreLugar+"' AND `lugar`.`eliminada`='0'");
	}

	
	
	public ResultSet getLugarEncuentro(String id_encuentro) {
		// TODO Auto-generated method stub
		return GestorBD.getInstance().ejecutar("SELECT `lugar`.`nombre`, `lugar`.`descripcion`, `lugar`.`codigo`,`deporte`.`nombreDeporte` " +
				"FROM `lugar`, `deporte`, `deporte_lugar`, `encuentro` " +
				"WHERE `encuentro`.`id_encuentro`='"+ id_encuentro +"' " +
				"AND `lugar`.`id_lugar`= `deporte_lugar`.`id_lugar` " +
				"AND `deporte`.`id_deporte`= `deporte_lugar`.`id_deporte` " +
				"AND `encuentro`.`id_lugar`=`lugar`.`id_lugar` " +
				"AND `lugar`.`eliminada`='0'");
	}

}
